package com.threeti.jiayusms.domain.model.defaulttemplate;

import com.threeti.jiayusms.domain.model.CommunicationRule;
import com.threeti.jiayusms.domain.model.CommunicationTime;
import com.threeti.jiayusms.domain.model.CommunicationVoice;
import com.threeti.jiayusms.framework.domain.meta.AssocationClass;
import com.threeti.jiayusms.framework.domain.support.DefaultCustomKeyDomainEntity;

/** 语音方式 */
public class VoiceTemplateMapping extends DefaultCustomKeyDomainEntity implements AssocationClass {

  private CommunicationVoice voiceTemplate;
  private CommunicationRule voiceRuleTemplate;
  private CommunicationTime voiceTimeTemplate;
  
  private String voiceNode;
  private String voiceProductType;
  private String voiceConditionType;
  private String voiceCondition;
  private boolean voiceCommunicationEnabled;
  
  public CommunicationVoice getVoiceTemplate() {
    return voiceTemplate;
  }
  public void setVoiceTemplate(CommunicationVoice voiceTemplate) {
    this.voiceTemplate = voiceTemplate;
  }
  public CommunicationRule getVoiceRuleTemplate() {
    return voiceRuleTemplate;
  }
  public void setVoiceRuleTemplate(CommunicationRule voiceRuleTemplate) {
    this.voiceRuleTemplate = voiceRuleTemplate;
  }
  public CommunicationTime getVoiceTimeTemplate() {
    return voiceTimeTemplate;
  }
  public void setVoiceTimeTemplate(CommunicationTime voiceTimeTemplate) {
    this.voiceTimeTemplate = voiceTimeTemplate;
  }
  public String getVoiceNode() {
    return voiceNode;
  }
  public void setVoiceNode(String voiceNode) {
    this.voiceNode = voiceNode;
  }
  public String getVoiceProductType() {
    return voiceProductType;
  }
  public void setVoiceProductType(String voiceProductType) {
    this.voiceProductType = voiceProductType;
  }
  public String getVoiceConditionType() {
    return voiceConditionType;
  }
  public void setVoiceConditionType(String voiceConditionType) {
    this.voiceConditionType = voiceConditionType;
  }
  public String getVoiceCondition() {
    return voiceCondition;
  }
  public void setVoiceCondition(String voiceCondition) {
    this.voiceCondition = voiceCondition;
  }
  public boolean isVoiceCommunicationEnabled() {
    return voiceCommunicationEnabled;
  }
  public void setVoiceCommunicationEnabled(boolean voiceCommunicationEnabled) {
    this.voiceCommunicationEnabled = voiceCommunicationEnabled;
  }

  /** 语音通信启用 */
  public void enableVoiceCommunication() {
    setVoiceCommunicationEnabled(true);
  }

  public void disableVoiceCommunication() {
    setVoiceCommunicationEnabled(false);
  }
}
